package org.jeecg.modules.cosmetic.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: t_product
 * @Author: jeecg-boot
 * @Date: 2022-06-30
 * @Version: V1.0
 */
@Data
@TableName("t_product")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "t_product对象", description = "t_product")
public class TProduct implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private java.lang.Long id;
    /**
     * 评估人主键
     */
    @ApiModelProperty(value = "评估人主键")
    private java.lang.Long evaluatorId;
    /**
     * 公司编码
     */
    @Excel(name = "公司编码", width = 15)
    @ApiModelProperty(value = "公司编码")
    private java.lang.String companyCode;
    /**
     * 系统编码
     */
    @Excel(name = "系统编码", width = 15)
    @ApiModelProperty(value = "系统编码")
    private java.lang.String sysCode;
    /**
     * 自增编码
     */
    @Excel(name = "自增编码", width = 15)
    @ApiModelProperty(value = "自增编码")
    private java.lang.String autoCode;
    /**
     * 中文名称
     */
    @Excel(name = "中文名称", width = 15)
    @ApiModelProperty(value = "中文名称")
    private java.lang.String chineseName;
    /**
     * 英文名称
     */
    @Excel(name = "英文名称", width = 15)
    @ApiModelProperty(value = "英文名称")
    private java.lang.String englishName;
    /**
     * 备案人名称
     */
    @Excel(name = "备案人名称", width = 15)
    @ApiModelProperty(value = "备案人名称")
    private java.lang.String filingName;
    /**
     * 备案人地址
     */
    @Excel(name = "备案人地址", width = 15)
    @ApiModelProperty(value = "备案人地址")
    private java.lang.String filingAddress;
    /**
     * 化妆品类型（1.普通 2.特殊）
     */
    @Excel(name = "化妆品类型（1.普通 2.特殊）", width = 15)
    @ApiModelProperty(value = "化妆品类型（1.普通 2.特殊）")
    private java.lang.Integer type;
    /**
     * 产品类型（1.驻留类 2.淋洗类 3.用后清洗/擦除产品）
     */
    @Excel(name = "产品类型（1.驻留类 2.淋洗类 3.用后清洗/擦除产品）", width = 15)
    @ApiModelProperty(value = "产品类型（1.驻留类 2.淋洗类 3.用后清洗/擦除产品）")
    @Dict(dicCode = "product_kind")
    private java.lang.Integer productType;
    /**
     * 种类json：{"parent:son"}
     */
    @Excel(name = "种类json", width = 15)
    @ApiModelProperty(value = "种类json")
    private java.lang.String category;
    /**
     * 日均使用量
     */
    @Excel(name = "日均使用量", width = 15)
    @ApiModelProperty(value = "日均使用量")
    private java.lang.String dailyDosage;
    /**
     * 产品驻留因子
     */
    @Excel(name = "产品驻留因子", width = 15)
    @ApiModelProperty(value = "产品驻留因子")
    private java.lang.String residentDivisor;
    /**
     * 暴露途径（1.经口 2.经皮 3.吸入）
     */
    @Excel(name = "暴露途径（1.经口 2.经皮 3.吸入）", width = 15)
    @ApiModelProperty(value = "暴露途径（1.经口 2.经皮 3.吸入）")
    private java.lang.String exposedWay;
    /**
     * 使用频率
     */
    @Excel(name = "使用频率", width = 15)
    @ApiModelProperty(value = "使用频率")
    private java.lang.String useFrequency;
    /**
     * IFRA分类json
     */
    @Excel(name = "IFRA分类json", width = 15)
    @ApiModelProperty(value = "IFRA分类json")
    private java.lang.String ifraClassify;
    /**
     * 是否验测微生物（0.否1.是）
     */
    @Excel(name = "是否验测微生物（0.否1.是）", width = 15)
    @ApiModelProperty(value = "是否验测微生物（0.否1.是）")
    private java.lang.Integer checkGerm;
    /**
     * 适用部位
     */
    @Excel(name = "适用部位", width = 15)
    @ApiModelProperty(value = "适用部位")
    private java.lang.String applyPart;
    /**
     * 暴露参考水平
     */
    @Excel(name = "暴露参考水平", width = 15)
    @ApiModelProperty(value = "暴露参考水平")
    private java.lang.String exposedReferenceLevel;
    /**
     * 使用方法
     */
    @Excel(name = "使用方法", width = 15)
    @ApiModelProperty(value = "使用方法")
    private java.lang.String usedDesc;
    /**
     * 安全警示用语
     */
    @Excel(name = "安全警示用语", width = 15)
    @ApiModelProperty(value = "安全警示用语")
    private java.lang.String safeCaution;
    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
    /**
     * 报告地址
     */
    @ApiModelProperty(value = "报告地址")
    private java.lang.String reportUrl;
    /**
     * 原始系统编码
     */
    @ApiModelProperty(value = "原始系统编码")
    private java.lang.String originSysCode;
    /**
     * 状态（0.未完成 1.已完成 2.已作废）
     */
    @Excel(name = "状态（0.未完成 1.已完成 2.已作废）", width = 15)
    @ApiModelProperty(value = "状态（0.未完成 1.已完成 2.已作废）")
    private java.lang.Integer status;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
}
